package com.ruoyi.performance.service.impl;

import java.util.List;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.performance.mapper.TPerformanceTemplateMapper;
import com.ruoyi.performance.domain.TPerformanceTemplate;
import com.ruoyi.performance.service.ITPerformanceTemplateService;

/**
 * 考核模板Service业务层处理
 * 
 * @author ruoyi
 * @date 2022-12-24
 */
@Service
public class TPerformanceTemplateServiceImpl implements ITPerformanceTemplateService 
{
    @Autowired
    private TPerformanceTemplateMapper tPerformanceTemplateMapper;

    /**
     * 查询考核模板
     * 
     * @param id 考核模板主键
     * @return 考核模板
     */
    @Override
    public TPerformanceTemplate selectTPerformanceTemplateById(Long id)
    {
        return tPerformanceTemplateMapper.selectTPerformanceTemplateById(id);
    }

    /**
     * 查询考核模板列表
     * 
     * @param tPerformanceTemplate 考核模板
     * @return 考核模板
     */
    @Override
    public List<TPerformanceTemplate> selectTPerformanceTemplateList(TPerformanceTemplate tPerformanceTemplate)
    {
        return tPerformanceTemplateMapper.selectTPerformanceTemplateList(tPerformanceTemplate);
    }

    /**
     * 新增考核模板
     * 
     * @param tPerformanceTemplate 考核模板
     * @return 结果
     */
    @Override
    public int insertTPerformanceTemplate(TPerformanceTemplate tPerformanceTemplate)
    {
        List<String> assessProjects = tPerformanceTemplate.getAssessProjects();
        assessProjects.forEach(assessProject->{
            tPerformanceTemplate.setAssessProject(assessProject);
            tPerformanceTemplateMapper.insertTPerformanceTemplate(tPerformanceTemplate);
        });
        return 1;
    }

    /**
     * 修改考核模板
     * 
     * @param tPerformanceTemplate 考核模板
     * @return 结果
     */
    @Override
    public int updateTPerformanceTemplate(TPerformanceTemplate tPerformanceTemplate)
    {   List<String> assessProjects = tPerformanceTemplate.getAssessProjects();
        assessProjects.forEach(assessProject->{
            tPerformanceTemplate.setAssessProject(assessProject);
            tPerformanceTemplateMapper.updateTPerformanceTemplate(tPerformanceTemplate);
        });
        return 1;
    }

    /**
     * 批量删除考核模板
     * 
     * @param ids 需要删除的考核模板主键
     * @return 结果
     */
    @Override
    public int deleteTPerformanceTemplateByIds(Long[] ids)
    {
        return tPerformanceTemplateMapper.deleteTPerformanceTemplateByIds(ids);
    }

    /**
     * 删除考核模板信息
     * 
     * @param id 考核模板主键
     * @return 结果
     */
    @Override
    public int deleteTPerformanceTemplateById(Long id)
    {
        return tPerformanceTemplateMapper.deleteTPerformanceTemplateById(id);
    }

    /**
     * 根据老师类型查询考核项目
     * @param teacherType
     * @return
     */
    @Override
    public List<String> selectProjectBytTeacherType(String teacherType) {

        return  tPerformanceTemplateMapper.selectProjectBytTeacherType(teacherType);
    }


}
